home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / tools / sxpsm03 / sxpsmem.doc < prev    next >
Text File  |  1997-10-13  |  16KB  |  426 lines

  1. (編注:このドキュメントとカットファイルはSXPSMEM.PENをもとに編集部にて、
  2.     DSHELL用に作成しました。)
  3.        SX-WINDOW
  4.  
  5.            PlayStationメモリーカードアクセス SXPSMem ver0.3
  6.  
  7.                                       Copyright 1996 (c) BLACK.
  8.  
  9.  
  10. *SXPSMemとは
  11.  PlayStationのメモリーカードをX68とつないでデータ交換することが出来るツールです。
  12. いわばPSMEMのSX-WINDOW版と言っても差し支えはないでしょう。
  13. 利用に当たってはPMAEと呼ばれるメモリーカードとのインターフェースボードを作る必要があります。
  14. このボードに付いては付属のPMAE.PENに回路図を用意しています。
  15. PSMEM付属のPMAE.DOCと同じ内容ですが、回路図などをグラフィックに書き直しています。
  16. 書き直したPMAE.PENの付属は作者のゆうじ氏に許可を得ています。
  17.  
  18.  SXPSMemの開発に当たってはPSMEMの作者である、ゆうじ氏より
  19. PMAE(PlayStation MemoryCard Access Equpment)アクセスルーチンの提供を受けています。
  20. PSMEM Copyright 1996(c) ゆうじ
  21. その部分はゆうじ氏に著作権があります。
  22. 利用方法に付いても参考にさせて貰いました。
  23. v0.3で高速化された最新のルーチンを組み込んでいます。
  24.  
  25.  
  26. *使い方
  27.  65536色モードになっているのを確認してGRWを起動します。
  28. PMAEをジョイポート1に繋げて起動します。
  29. そうすると、このようなウィンドウが起動します。
  30.  
  31.     %CUT:+-SXPSM01.CUT
  32.     %CUT
  33.     %CUT
  34.     %CUT
  35.     %CUT
  36.     %CUT
  37.     %CUT
  38.     %CUT
  39.     %CUT
  40.     %CUT
  41.     %CUT
  42.     %CUT
  43.     %CUT
  44.     %CUT
  45.     %CUT
  46.     %CUT
  47.     %CUT
  48.     %CUT
  49.     %CUT
  50.  
  51. (アイコンはちゃんと65536色でアニメーション表示します。内容は一例です)
  52.  
  53.  一覧ではブロックの使用状態に応じて表示が行われます。
  54. No.2の所は空きブロックを示しています。
  55. 使用中の所は複数ブロックを使うデータの場合に繋がって記録されている所です。
  56. リンク途中か終端かどうかも表示します。
  57. リンクブロックのアイコンは先頭ブロックと同じものになります。
  58.  
  59. もし、一覧が出ないようならウェイトの調整をします。
  60. メニューの中に環境設定がありますのでそこで設定します。
  61. PSMEM.DOCに載っていたウェイトの参考値を以下に転載します。
  62.     ┌───┬─────┬───────┬─────┐
  63.     │マシン│X68030-33M│X68000XVI-20M │X68000-10M│
  64.     ├───┼─────┼───────┼─────┤
  65.     │WAIT_1│   6800   │     2100     │   1100   │
  66.     │WAIT_2│     26   │       -1     │     -1   │
  67.     └───┴─────┴───────┴─────┘
  68.  
  69. また、Tanu Tanu氏からの動作報告記載のウェイト値も合わせて転載します。
  70. 040turbo上ですがクロック値が2つ有るのは両クロック系統クロックアップしているためです。
  71.  
  72.     040turbo(CLOCK: 25MHz,10MHz CACHE: コピーバック、ライトスルーとも)
  73.     WAIT 1: 1200 WAIT2: 0
  74.  
  75.     040turbo(CLOCK: 33MHz,14.7456MHz CACHE: コピーバック、ライトスルーとも)
  76.     WAIT 1: 1800 WAIT2: 0
  77.  
  78.     030     (CLOCK: 25MHz,10MHz CACHE: ON)
  79.     WAIT 1: 2600 WAIT2: 0
  80.  
  81.     030     (CLOCK: 33MHz,14.7456MHz CACHE: ON)
  82.     WAIT 1: 3400 WAIT2: 0
  83.  
  84. ただし、SXPSMemではウェイトは-1の設定は出来ません。
  85.  
  86.  あとは、メニューを見れば大体の操作は分かるでしょう。
  87. メニューは以下の物が出ます。
  88.  
  89.         %CUT:+-SXPSM02.CUT
  90.         %CUT
  91.         %CUT
  92.         %CUT
  93.         %CUT
  94.         %CUT
  95.         %CUT
  96.         %CUT
  97.         %CUT
  98.         %CUT
  99.         %CUT
  100.         %CUT
  101.         %CUT
  102.         %CUT
  103.         %CUT
  104.         %CUT
  105.  
  106. SXPSMemについて・・・        :SXPSMemのバージョンなどの案内です。
  107. PSMEMについて・・・        :PSMEMの案内です。
  108. 再検索                :カードの内容を再検索します。
  109.                  カードを差し替えた時は忘れずに。
  110. 全選択                :ファイル全部を選択状態にします。
  111.                  単独の選択切り替えは左ボタンでファイルをクリックすれ
  112.                  ば出来ます。
  113. 選択反転            :ファイルの選択を反転します。
  114. コピー                :選択したファイルをクリップボードにコピーします。
  115. ペースト            :クリップボードにあるPSMデータをペーストします。
  116. 情報                :これはメニューを出した時点のマウスポインタが位置する
  117.                  ファイルの 情報を表示します。(選択されたものではあ
  118.                  りません)
  119.                   表示する情報はデータ名と使用ブロックの情報です。
  120.  
  121.  
  122. 保存                :選択されたファイルをPSM形式で保存します。
  123.                  保存先を聞くダイアログが出ます。デフォルトで環境設定
  124.                  で指定した パスになっています。
  125.                  もちろん、ドライブ/ディレクトリアイコンのドラッグも
  126.                  有効です。
  127. 環境設定            :環境設定を行います。後述します。
  128. 削除                :これも選択した上で選んで下さい。
  129.                  カード上のファイルを削除します。
  130. 復活                :これはメニューを出した時点のマウスポインタが位置する
  131.                  ブロックの復活を試みます。そのブロックのディレクトリ
  132.                  内容を見て、その時点で無理と判った時は、選択出来ません。
  133. 終了                :SXPSMemを終わります。
  134.  
  135.  
  136. さらにもう1つメニューがあり、SHIFTを押しながらメニューを出すと以下のメニューが出ます。
  137.  
  138.         %CUT:+-SXPSM03.CUT
  139.         %CUT
  140.         %CUT
  141.         %CUT
  142.  
  143. 削除(内容初期化付)        :削除と一緒ですが、使われていたブロックの内容も0で初
  144.                  期化します。
  145. カード初期化            :メモリーカードのフォーマットと同じです。
  146.  
  147.  さて、ここでメニューにPSMファイルの取り込み(カードへのセーブ)が無い事に
  148. 気づいたと思いますが、もちろん方法を用意してあります。
  149. PSMファイルをカードへ記録する時はPSMファイルをドラッグします。
  150. もちろん複数同時にドラッグしても構いません。
  151. 空いている所に順次入れていきます。
  152.  
  153.  SXPSMemではメモリーカードをディスクと見なしてファイル単位のアクセスをサポートします。
  154. ブロック単位のやりとりはサポートしていません。
  155. (その為、上書きなどで記録されているブロックが変わることがあります。
  156.  記録時には先頭の空きブロックから使っていくからです)
  157. どうしてもブロック単位で取り出したいならPSMEMを勧めます。
  158. メモリーカード上のファイル名は管理領域に記録されているデータ名になります。
  159. PSMファイルの名前は保存(カードからの吸い出し)時以外は影響しません。
  160. PSMファイルの保存時にはそのデータ名からファイル名を作成します。
  161. ですが一応PSMC_??.PSMの名前でも保存出来る様にしてあります。切り替えは環境設定でどうぞ。
  162.  
  163.  
  164. *環境設定
  165. 以下のように環境設定を用意しています。
  166.  
  167.         %CUT:+-SXPSM04.CUT
  168.         %CUT
  169.         %CUT
  170.         %CUT
  171.         %CUT
  172.         %CUT
  173.         %CUT
  174.         %CUT
  175.         %CUT
  176.         %CUT
  177.  
  178. 標準ポート        使うジョイポートの標準設定です。通常使う方にしておいて下さい。
  179. ファイル名        保存時のファイル名形式です。LONGがデータ名、SHORTがPSMC_??になります。
  180. ウェイト1        1フレーム当たりのウェイト値です。
  181. ウェイト2        1バイト当たりのウェイト値です。
  182. セーブ標準パス        保存時の標準パスです。(保存時に一時的な変更が出来ます)
  183.  
  184. 尚、数値ボタンの設定は増減ボタンのみです。直接入力はサポートしていません。
  185. その代わり同時押しでSHIFTで10づつ、CTRLで100づつの増減をするようにしています。
  186. あと、負数は入力出来ません。
  187.  
  188.  
  189.  
  190.  
  191. *コマンドオプション
  192. -J1    ジョイスティックポート1を使う。
  193. -J2    ジョイスティックポート2を使う。
  194.     これらは環境設定よりも優先されます。
  195.  
  196.  
  197. *アイコン
  198.  PSMファイル用にアイコンを用意しました。
  199.  
  200.         %CUT:+-SXPSM05.CUT
  201.         %CUT
  202.         %CUT
  203.  
  204.  実行ファイルに付いても募集の甲斐有って作ってくれた方がおりました。
  205. このパターンを標準にしたいと思います。NO.氏作です。
  206.  
  207.         %CUT:+-SXPSM06.CUT
  208.         %CUT
  209.         %CUT
  210.  
  211. *クリップボード
  212. クリップボードにコピーした時セーブデータは'psmD'リソースとしてコピーされます。
  213. 'psmD'リソースはPSMファイルと同一形式です。
  214. つまり'psmD'リソースがファイルになるとPSMファイルになる格好です。
  215. 複数ファイルコピーした場合はもちろんファイル毎のpsmDリソースが作られ、
  216. その個数分一緒にそれぞれ登録されます。
  217.  
  218.  
  219. *PSMデータ形式
  220.  メモリーカードのデータを使える形で出力された時にこの形式で出力されます。
  221. 当然ながらPSMEMと共通であり既に幾つか公開されているセーブデータ改造ツールで
  222. PSM形式と呼ばれているのがこれになります。
  223.  
  224. 簡単に図で示すとこうなります。
  225.   ┌─────────────────┐
  226.   │ディレクトリ情報   128バイト│  <--  1ブロック目のデータ
  227.   │ブロックデータ   8192バイト│
  228.   ├─────────────────┤
  229.   │ディレクトリ情報   128バイト│  <--  2ブロック目のデータ
  230.   │ブロックデータ   8192バイト│       (このようにブロック数分だけ連結される)
  231.   ├─────────────────┤
  232.   │                 │
  233.            ・         
  234.            ・         
  235.   └─────────────────┘
  236.  
  237. まず、1ブロック毎に128+8KBのデータになります。
  238. 内訳は図の通り、カード内管理領域に書き込まれるディレクトリ情報と実際のブロック内容です。
  239.  
  240. ディレクトリ情報にはカード内部のファイル名も書き込まれています。
  241. この内部ファイル名を調べる事によってどのゲームのセーブデータか判定する事が可能です。
  242. 具体的には$00000CからC言語文字列形式で入っています。
  243. ちなみに判定はゲームソフト型番までの範囲にしておきましょう。
  244. ディレクトリ情報の部分は変更を行わないで下さい。
  245. カードに書き戻した時に異常が起こることが十分考えられます。
  246. ちなみにディレクトリ情報はブロック毎に格納内容が違います。
  247. 一見役に立たないように見える先頭ブロック以外のディレクトリ情報は決してダミーではありません。
  248. くれぐれも破壊しないように。
  249.  
  250.  
  251. ブロックデータには実際のブロック内容が入っています。
  252. 先頭ブロックには必ずアイコンデータ、タイトルなどが入っています。
  253. そのため先頭数フレームは形式が決まっています。
  254. アイコンパターンの数で変わるためゲームのセーブデータ先頭がどこになるかはソフトで違います。
  255. (1フレーム=128バイト。PSはフレーム単位でカードにアクセスしています)
  256. ゲームによってはセーブ内容にチェックサムを通している物があります。
  257.  
  258.  
  259. 複数ブロックのセーブデータの場合そのブロック数だけリンク順に連結されます。
  260. カードに記録する情報以外の余分なヘッダなどは付いていません。
  261. 何ブロック使用するデータなのかはPSMデータサイズから割り算で求められます。
  262. (割り切れなければ異状という事にもなります)
  263.  
  264.  
  265. *ホームページ
  266. PSMEMの作者である、ゆうじ氏のホームページが有るので紹介します。
  267. PSMEMの所では幾つかの改造情報も掲載されています。
  268.  
  269.     http://www.sd.is.uec.ac.jp:8000/yide/x68k.html
  270.  
  271.  
  272. *最後に
  273. とりあえず、改良出来たので公開します。
  274. アイコンアニメーション、2ドライブ同時に利用可能などSXならではの物に仕上がったと思っていま
  275. す。
  276. ファイルユーティリティ風に作ればHuman68k上でも決して不可能では有りませんが。
  277. (ただ、画面構成は工夫しないといけませんね。2ドライブ分の同時表示は難しいかも。
  278.  当ツールはアイコンは16*16ですが(拡大縮小無し)、文字は12*12です。
  279.  これから察しは付くと思います)
  280. RAGEのSX化が出来ればまた面白いですね。
  281. (拙作RAGEとはレイジレーサーのチームロゴをPSMファイルとPiファイル間で
  282.  やり取りが出来るツールです)
  283. そうすれば、グラフィックの作成から同時に一貫してSXで出来てしまう。おお(笑)
  284. でも移植した頃にはブームは終わっているかもしれない(^^;
  285. (RAGEはコンソールウィンドウですればいいと言う話も有ったりして(爆)
  286.  ファイル名も簡単に渡せるし(笑))
  287. あと、SXの利点を生かせるネタが思い付けば付けるかも。
  288.  
  289. 今回付いた復活機能ですが、これは削除直後以外では失敗すると思って下さい。
  290. 仕組みとしては削除マークを戻すだけですので、後で上書きされてしまったりしたブロック内容は
  291. 戻し様がありません。この場合、一見戻ったように見えても中身が全然違う物になっている事も
  292. 十分考えられます。また、旧バージョンで削除した場合も復活不可能です。
  293. (言うまでもなく内容初期化付きで削除しても復活不可能です)
  294. 旧バージョンの削除ではディレクトリ情報だけは完全に初期化していたので。
  295. 今回から削除方法はPS同様にフラグだけを操作する事にしました。
  296. 一応、復活処理内で間違って復活出来る事がない様に事前検査を入れてありますが、
  297. 網の目をくぐって出来てしまう事は起こり得ます。
  298.  
  299. それでは活用して下さい。
  300.  
  301.  
  302. *注意点
  303.  SX-WINDOW V3.0以上が必要です。
  304. と書いたものの実はV3.1上でしか動作確認していません。
  305. V3.1コールは確か使ってなかったと思いますが・・・
  306. V2.0以下の旧バージョンでは確実に動作しません。
  307. なんにしろ最新版に移行しておく事を強く勧めます。
  308. また、アイコンアニメーションの関係上65536色モードを使用します。
  309. よって、GRW上でしか動作しません。
  310.  
  311.  SXPSMem起動中はコンソール上でPSMEMを使わないで下さい。
  312. ジョイポートの設定で混乱が生じる可能性があります。
  313. 表示がおかしいもののとりあえずコンソール上でPSMEMは使えるようです。
  314. これを守らなかった場合何が起きても不思議はありません。
  315.  
  316.  ver2.00未満の回路の PMAE では、そのままでは利用できません。
  317. 付属の回路図を参考に改造してください。
  318.  
  319.  セマフォマンの予約に対して独自のキー文字列を使っています。
  320. ジョイポート1を"JoyStick1Dev"、ジョイポート2を"JoyStick2Dev"として予約に使っています。
  321. もし、ジョイスティックデバイスとして既に使われている名前があるのなら御一報下さい。
  322. (おそらくジョイポートを占有する物はこれが初めてだとは思いますが・・・)
  323. 97/09/04現在、既に決まった名前があるという報告はありません。
  324. 予約名はその性格上統一した方がもちろんいいので、これから作る場合は予約名を合わせて貰うと
  325. ジョイポートの排他制御が可能になります。
  326.  
  327.  ジョイスティックポート1または2の設定を変更して利用しています。
  328. そのため、SXPSMem実行時にジョイスティックなど PMAE 以外を接続して実行しないでください。
  329. またその為にもセマフォマンに予約を入れています。
  330. 予約を無視してジョイポートにアクセスに行っても不具合が出る恐れがあるので
  331. ゲームなどのジョイポートを使う物を作る場合は気を付けて下さい。
  332.  
  333.  PMAEを勝手に抜かないように。
  334. デバイス予約を取っている以上、そのポートを使っているSXPSMemを終了させるまで
  335. 勝手にPMAEを抜かないで下さい。
  336. アクセスさせない限りは多分大丈夫だとは思いますが・・・
  337.  
  338.  カードの交換後には再検索を忘れないように。
  339. この注意を無視するとどういう結果が待っているかは自ずと察しが付くと思います。
  340. メモリーカードの交換は自動検知していません。
  341.  
  342.  PMAEが繋がっていないとかエラー表示された後で接続して再認識させても
  343. アクセスに失敗することがあります。
  344. その時はSXPSMemを一端終了させて再起動すると正常に認識します。
  345. 設定するウェイト値はPSMEMの設定値より少し多めがいいかも知れません。
  346.  
  347.  環境設定はリソースファイルに保持しています。
  348. リソースファイルのリソース構成が将来で変わった時にはその事を書きますが、
  349. 一応、心に留めておいて下さい。時間照合コピーでアップデートするとハマります。
  350. テンプレートリソースも入っていますが、直接リソースエディタで触るのはお勧め出来ません。
  351. 暗黙の範囲制限が有ったりしますし。理解した上でやる分には構わないでしょうが。
  352.  
  353.  アクセス表示はしていません。
  354. PMAEのアクセス表示はしてませんのでアクセスランプの作成を推奨します。
  355. LEDが付いたのに本体側でアクセスランプの代わりをする必要はないし。
  356. もちろん、LEDが無くても動作はします。
  357.  
  358.  復活は必ず成功するとは限りません。
  359. 既に書いてますが、そういう事です。
  360.  
  361.  
  362. *使用条件など
  363. 無保証です。使用者の責任のもとに御使用下さい。
  364. 不具合が無いように努めていますがバグが無いことは保証出来ません。
  365. ネットへの転載は自由にどうぞ。
  366. アーカイブの中身を変えたりしないで下さい。
  367. SXPSMemの著作権は一応作者の私が保持します。
  368. ソースも付属させていますが改変したものを配布する時は改変バージョンであることが
  369. 明確に判るようにして私に御一報下さい。
  370. 著作権表示については変える事無く追加の形で行なって下さい。
  371. ソースリストに付いては感謝のメッセージをドキュメントに付けて頂ければ参照等は自由です。
  372. ただし、psm.has,PMAE.PENはゆうじ氏に著作権があります。
  373. ソースの公開に付いては許可を得ていますが、これらの参照等に付いてはゆうじ氏に
  374. 連絡を取って下さい。
  375.  
  376.  
  377. *謝辞
  378. ゆうじ            PSMEM作者。PSMEMソースを提供してくれました。
  379. ボんふり        PSMからのアイコンイメージの取り出し方法でPIVを参考にしました。
  380. SHARP(株)疑似ダイアログなどでWorkroom SX68Kの付属サンプルを
  381.                 参考にしました。
  382. IMISUN            PMAE.JPG の提供者です。
  383. NO.            SXPSMem実行ファイルアイコン提供者です。
  384. oki                CPU判定で助言をいただきました。
  385. Reatch    Jupiter-X上での動作確認に協力してくれました。
  386. Tanu Tanu        040turbo上での動作確認に協力してくれました。
  387.  
  388.  
  389. 以上の方々に感謝致します。(敬称略)
  390.  
  391.  
  392. *履歴
  393. v0.1 96/12/10  初公開。
  394.  
  395. v0.2  97/01/21  改訂
  396.  クリップボードへのコピー&ペースト対応。
  397.  030以上の高速CPU機ではCPUキャッシュを制御するようにした。
  398.  ウェイト1上限値を32767に緩和。
  399.  アイコン表示がひっつかない様に上下間に隙間を入れた。
  400.  
  401. v0.3 97/09/04 改訂
  402.  削除の方法をプレイステーションと合わせた。
  403.  PSMEM同様の復活機能搭載。
  404.  PSMEM作者により高速化されたPMAEアクセスルーチン搭載。
  405.  ファイル読み込みで判定を厳密にした。(空ブロックのPSMファイルでも通っていた)
  406.  
  407.  
  408. *連絡先
  409. PC-VAN (X1CLUB)            (全国)  AZA36321(STRAKER.)
  410. 満開ネット                        (東京都)56
  411. Network-SX                        (東京都)56
  412. SHARP X-FAN Network                (千葉県)195
  413. GreenVillageNetwork            (鳥取県)53
  414. いちごくらぶ方面BBS            (広島市)BLACK
  415. ハローぴにゃん & 姫ちゃんBBS(広島市)BLACK
  416. GreenHills                    (広島市)BLACK
  417. CoCo-Network        (東京都)17
  418. Pikorin-Net            (広島市)62
  419. 680*0Freak BBS                    (大阪府)74
  420. どこかの謎のBBS                (埼玉県)2548
  421. Final tear Z network            (大阪府)1577
  422.  
  423.  
  424.                            BLACK.
  425.  
  426.